package com.derbysoft.lowcostadapter.commons.repository;

import com.derbysoft.common.paginater.Paginater;
import com.derbysoft.lowcostadapter.commons.model.Hotel;
import com.derbysoft.lowcostadapter.commons.model.Status;

import java.util.List;
import java.util.Map;

public interface HotelRepository {
    Hotel findByPassport(String passport, Status status);

    Hotel findByPassport(String passport);

    Hotel load(int propertyID);

    Hotel findByPropertyID(int propertyID, Status status);

    Paginater findByCondition(Hotel condition, Paginater paginater);

    void create(Integer propertyID, String passport, String name);

    void update(Integer propertyID, String passport, String name, Status status);

    List<Hotel> list(Status status);

    void saveAll(List<Hotel> hotels);

    Map<Integer, Hotel> loadHotelMap(Status status);

    Hotel save(Hotel hotel);
}
